<?php

namespace app\admin\service\statistics\promotion;

use app\admin\service\statistics\promotion\h5\AnyuanCount;
use app\admin\service\statistics\promotion\h5\CaptchaCount;
use app\admin\service\statistics\promotion\h5\LandingCount0;
use app\admin\service\statistics\promotion\h5\LandingCount1;
use app\admin\service\statistics\promotion\h5\LawsuitCount0;
use app\admin\service\statistics\promotion\h5\LawsuitCount1;
use app\admin\service\statistics\promotion\h5\LawyerMoneySum;
use app\admin\service\statistics\promotion\h5\LiuzhiCount;
use app\admin\service\statistics\promotion\h5\LiuzhiRate;
use app\admin\service\statistics\promotion\h5\LoginMemberCount;
use app\admin\service\statistics\promotion\h5\LoginRegisterRate;
use app\admin\service\statistics\promotion\h5\MemberDraftCount;
use app\admin\service\statistics\promotion\h5\NewMemberCount;
use app\admin\service\statistics\promotion\h5\PayCount;
use app\admin\service\statistics\promotion\h5\PayRate;
use app\admin\service\statistics\promotion\h5\PaySuccessCount;
use app\admin\service\statistics\promotion\h5\PaySuccessSum;
use app\admin\service\statistics\promotion\h5\PerMoney;
use app\admin\service\statistics\promotion\h5\Pv;
use app\admin\service\statistics\promotion\h5\RefundRate;
use app\admin\service\statistics\promotion\h5\RefundSuccessCount;
use app\admin\service\statistics\promotion\h5\RefundSuccessSum;
use app\admin\service\statistics\promotion\h5\RegisterPayRate;
use app\admin\service\statistics\promotion\h5\TempTokenCount;
use app\admin\service\statistics\promotion\h5\Uv;
use app\admin\service\statistics\promotion\h5\UvRegisterRate;
use app\admin\service\statistics\promotion\h5\UvValue;
use app\admin\service\statistics\promotion\h5\WendaCount;

class Provider
{

    private array $provider = [
        //h5
        'h5-pv' => [
            'title' => 'PV',
            'implClass' => Pv::class,
        ],
        'h5-uv' => [
            'title' => 'UV',
            'implClass' => Uv::class,
        ],
        'h5-captcha_count' => [
            'title' => '验证码数',
            'implClass' => CaptchaCount::class,
        ],
        'h5-login_member_count' => [
            'title' => '登录总数',
            'implClass' => LoginMemberCount::class
        ],
        'h5-temp_token_count' => [
            'title' => '律师注册',
            'implClass' => TempTokenCount::class
        ],
        'h5-new_member_count' => [
            'title' => '注册总数',
            'implClass' => NewMemberCount::class
        ],
        'h5-login_register_rate' => [
            'title' => '登录注册率',
            'implClass' => LoginRegisterRate::class,
            'statisticians' => [
                'h5-new_member_count',
                'h5-captcha_count',
            ],
        ],
        'h5-uv_register_rate' => [
            'title' => '访问注册率',
            'implClass' => UvRegisterRate::class,
            'statisticians' => [
                'h5-new_member_count',
                'h5-uv',
            ],
        ],
        'h5-pay_count' => [
            'title' => '发起支付数',
            'implClass' => PayCount::class
        ],
        'h5-pay_rate' => [
            'title' => '发起支付率',
            'implClass' => PayRate::class,
            'statisticians' => [
                'h5-pay_success_count',
                'h5-pay_count',
            ],
        ],
        'h5-pay_success_count' => [
            'title' => '支付成功数',
            'implClass' => PaySuccessCount::class
        ],
        'h5-register_pay_rate' => [
            'title' => '注册支付率',
            'implClass' => RegisterPayRate::class,
            'statisticians' => [
                'h5-pay_success_count',
                'h5-new_member_count',
            ],
        ],
        'h5-pay_success_sum' => [
            'title' => '支付成功金额',
            'implClass' => PaySuccessSum::class
        ],
        'h5-refund_success_count' => [
            'title' => '退款成功订单数',
            'implClass' => RefundSuccessCount::class
        ],
        'h5-refund_success_sum' => [
            'title' => '退款成功金额',
            'implClass' => RefundSuccessSum::class
        ],
        'h5-lawyer_money_sum' => [
            'title' => '应返佣金',
            'implClass' => LawyerMoneySum::class
        ],
        'h5-lawyer_money_success_sum' => [
            'title' => '成功返佣',
            'implClass' => LawyerMoneySum::class
        ],
        'h5-lawsuit_count0' => [
            'title' => '问答数',
            'implClass' => LawsuitCount0::class
        ],
        'h5-landing_count0' => [
            'title' => '问答数',
            'implClass' => LandingCount0::class
        ],
        'h5-lawsuit_count1' => [
            'title' => '案源数',
            'implClass' => LawsuitCount1::class
        ],
        'h5-landing_count1' => [
            'title' => '案源数',
            'implClass' => LandingCount1::class
        ],
        'h5-uv_value' => [
            'title' => '单UV价值',
            'implClass' => UvValue::class,
            'statisticians' => [
                'h5-pay_success_sum',
                'h5-uv',
            ],
        ],
        'h5-unpay_count' => [
            'title' => '注册未支付数',
            'implClass' => RegisterPayRate::class,
            'statisticians' => [
                'h5-new_member_count',
                'h5-pay_success_count',
            ],
        ],
        'h5-per_money' => [
            'title' => '客单价',
            'implClass' => PerMoney::class,
            'statisticians' => [
                'h5-pay_success_sum',
                'h5-pay_success_count',
            ],
        ],
        'h5-refund_rate' => [
            'title' => '退款率',
            'implClass' => RefundRate::class,
            'statisticians' => [
                'h5-refund_success_count',
                'h5-pay_success_count',
            ],
        ],
        'h5-wenda_count' => [
            'title' => '问答数',
            'implClass' => WendaCount::class,
            'statisticians' => [
                'h5-lawsuit_count0',
                'h5-landing_count0',
            ],
        ],
        'h5-anyuan_count' => [
            'title' => '案源数',
            'implClass' => AnyuanCount::class,
            'statisticians' => [
                'h5-lawsuit_count1',
                'h5-landing_count1',
            ],
        ],
        'h5-member_draft_count' => [
            'title' => '律师入驻',
            'implClass' => MemberDraftCount::class,
        ],
        'h5-liuzhi_count' => [
            'title' => '留资数',
            'implClass' => LiuzhiCount::class,
            'statisticians' => [
                'h5-wenda_count',
                'h5-anyuan_count',
            ],
        ],
        'h5-liuzhi_rate' => [
            'title' => '留资率',
            'implClass' => LiuzhiRate::class,
            'statisticians' => [
                'h5-liuzhi_count',
                'h5-new_member_count',
            ],
        ],

        // 微信数据
        'wx-uv' => [
            'title' => '小程序首页UV',
            'implClass' => wx\Uv::class,
        ],
        'wx-login_member_count' => [
            'title' => '小程序登录',
            'implClass' => wx\LoginMemberCount::class,
        ],
        'wx-liuzi_count' => [
            'title' => '小程序留资',
            'implClass' => wx\LiuzhiCount::class,
        ],
        'wx-pay_success_count' => [
            'title' => '小程序订单数',
            'implClass' => wx\PaySuccessCount::class,
        ],

        // 总数据
        'total-pay_success_count' => [
            'title' => '订单总数',
            'implClass' => total\PaySuccessCount::class,
        ],
        'total-pay_count' => [
            'title' => '发起支付数',
            'implClass' => total\PayCount::class,
        ],
        'total-pay_rate' => [
            'title' => '总支付率',
            'implClass' => total\PayRate::class,
            'statisticians' => [
                'total-pay_success_count',
                'h5-liuzhi_count',
                'wx-liuzi_count',
                // 'total-pay_count',
            ],
        ],
        'total-pay_success_money' => [
            'title' => '支付总金额',
            'implClass' => total\PaySuccessSum::class,
        ],
        'total-refund_success_count' => [
            'title' => '退款总单数',
            'implClass' => total\RefundSuccessCount::class,
        ],
        'total-refund_success_sum' => [
            'title' => '退款总金额',
            'implClass' => total\RefundSuccessSum::class,
        ],
        'total-refund_rate' => [
            'title' => '总退款率',
            'implClass' => total\RefundRate::class,
            'statisticians' => [
                'total-refund_success_count',
                'total-pay_success_count',
            ],
        ],
        'total-uv' => [
            'title' => '总UV',
            'implClass' => total\Uv::class,
        ],
        'total-new_member_count' => [
            'title' => '新用户数',
            'implClass' => total\NewMemberCount::class,
        ],
        'total-uv_un_register' => [
            'title' => '未注册UV',
            'implClass' => total\UvUnRegister::class,
            'statisticians' => [
                'total-uv',
                'total-new_member_count',
            ],
        ],
        'total-roi' => [
            'title' => 'ROI',
            'implClass' => total\Roi::class,
            'statisticians' => [
                'total-pay_success_money',
                'total-refund_success_sum',
                'total-roi_consume',
            ],
        ],
        'total-roi_consume' => [
            'title' => 'ROI成本',
            'implClass' => total\RoiConsume::class,
        ],

    ];

    public function getProvider()
    {
        return $this->provider;
    }
}